import { onMounted, onUnmounted } from "vue";

/**
 * 使用useEventListener Hook来监听事件
 *
 * @param {any} target - 目标元素或窗口对象
 * @param {string} event - 事件名称
 * @param {Function} callback - 回调函数
 */
export function useEventListener(target: any, event: string, callback: Function) {
  // 在组件挂载时，添加事件监听
  onMounted(() => target.addEventListener(event, callback));
  // 在组件卸载时，移除事件监听
  onUnmounted(() => target.removeEventListener(event, callback));
}
